home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / answrbok / 5_4.lha / 5_4 / 5_4.h < prev    next >
C/C++ Source or Header  |  1993-08-08  |  747b  |  39 lines

  1. * Copyright (c) 1990 by AT&T Bell Telephone Laboratories, Incorporated. */
  2. * The C++ Answer Book */
  3. * Tony Hansen */
  4. * All rights reserved. */
  5. / node set <nodeset.h>
  6. / Exercise 5.4
  7. ifndef NODESET_H
  8. define NODESET_H
  9.  
  10. truct tnode
  11.  
  12.    char *tword;
  13.    int count;
  14.    tnode *left, *right;
  15.    tnode(char*);
  16.    ~tnode();
  17. ;
  18.  
  19. ypedef int (*i_f_ptn_ptn)(tnode*, tnode*);
  20.  
  21. lass nodeset
  22.  
  23.    int cursize, maxsize;
  24.    tnode **x;
  25.    i_f_ptn_ptn cmp;
  26.  
  27. ublic:
  28.    nodeset(int m, i_f_ptn_ptn cmp); // at most m nodes
  29.    ~nodeset();
  30.  
  31.    int member(tnode* t);    // is "t" a member?
  32.    void insert(tnode* t);    // add "t" to set
  33.  
  34.    void iterate(int& i)    { i = 0; }
  35.    int ok(int& i)        { return i < cursize; }
  36.    tnode* next(int& i)        { return x[i++]; }
  37. ;
  38. endif /* NODESET_H */
  39.